package com.student.model;

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * ResumeSituation entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "Resume_Situation", schema = "dbo", catalog = "StudentManager")
public class ResumeSituation implements java.io.Serializable {

	// Fields

	private Long resumeSituationId;
	private GraduateInfo graduateInfo;
	private EmployMessage employMessage;
	private Timestamp resumeSituationDate;

	// Constructors

	/** default constructor */
	public ResumeSituation() {
	}

	/** minimal constructor */
	public ResumeSituation(Long resumeSituationId, Timestamp resumeSituationDate) {
		this.resumeSituationId = resumeSituationId;
		this.resumeSituationDate = resumeSituationDate;
	}

	/** full constructor */
	public ResumeSituation(Long resumeSituationId, GraduateInfo graduateInfo,
			EmployMessage employMessage, Timestamp resumeSituationDate) {
		this.resumeSituationId = resumeSituationId;
		this.graduateInfo = graduateInfo;
		this.employMessage = employMessage;
		this.resumeSituationDate = resumeSituationDate;
	}

	// Property accessors
	@Id
	@Column(name = "Resume_Situation_id", unique = true, nullable = false, precision = 18, scale = 0)
	@GeneratedValue
	public Long getResumeSituationId() {
		return this.resumeSituationId;
	}

	public void setResumeSituationId(Long resumeSituationId) {
		this.resumeSituationId = resumeSituationId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Graduate_id")
	public GraduateInfo getGraduateInfo() {
		return this.graduateInfo;
	}

	public void setGraduateInfo(GraduateInfo graduateInfo) {
		this.graduateInfo = graduateInfo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Employ_id")
	public EmployMessage getEmployMessage() {
		return this.employMessage;
	}

	public void setEmployMessage(EmployMessage employMessage) {
		this.employMessage = employMessage;
	}

	@Column(name = "Resume_Situation_Date", nullable = false, length = 23)
	public Timestamp getResumeSituationDate() {
		return this.resumeSituationDate;
	}

	public void setResumeSituationDate(Timestamp resumeSituationDate) {
		this.resumeSituationDate = resumeSituationDate;
	}

}